#ifndef IMAGENES_H_
#define IMAGENES_H_
#include "matriz.h"
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <math.h>
#include <vector>
using namespace std;
struct coordenada
{
    unsigned int _ejeX;
    unsigned int _ejeY;
};

class Imagen
{
	private:
		Matriz* _laImagen;
		string _nombre;
		Matriz* _laImagenModificada;
		Matriz* _laImgOriginal;
		coordenada _inicio;
		coordenada _fin;
		Tam _maxValor;
		Tam _filas;
		Tam _columnas;
		string _encabezado;
		void abrirImagen();
		void guardarImagenModificada();
		void init(string archivoImg,string archivoCoordenada);
	public:
		Imagen(string archivoImg,string archivoCoordenada);
		Imagen(string archivoImg,string archivoCoordenada,string archoriginal);
		Matriz* dameLaMatrizDeLaImagen();
		void escribirImagen();
		Tam filasDeLaImagen()const;
		Tam columnasDeLaImage()const;
		coordenada dameCoordenadaInicio()const;
		coordenada dameCoordenadaFin()const;
		double errorCuadraticoMedio();
		~Imagen();
};

#endif /*IMAGENES_H_*/
